package com.chalk.common.constant;

/**
 * @author wangyihao
 */
public class TypeConstants {
    /**
     * 商城会员积分记录表
     * 积分业务类型（0：签到 1：发帖 2：被设热帖 3：评论 4：评论热评 5：分享 6：被删贴 7：被删评论 8：分销）
     */
    public enum MemberPointsRecordBusinessType {
        /**
         * 签到
         */
        SIGNING(0, "签到"),
        /**
         * 发帖
         */
        POSTING(1, "发帖"),
        /**
         * 被设热帖 Hot notes
         */
        HOT_NOTES(2, "被设热帖"),
        /**
         * 发帖
         */
        COMMENT(3, "评论"),
        /**
         * 发帖
         */
        HOT_COMMENT(4, "评论热评"),
        /**
         * 发帖
         */
        SHARE(5, "分享"),
        /**
         * 被删贴 Deleted posts
         */
        DELETED_POSTS(6, "被删贴"),
        /**
         * 被删评论
         */
        DELETED_COMMENT(7, "被删评论"),
        /**
         * 分销distribution
         */
        DISTRIBUTION(8, "分销"),
        /**
         * 被删评论
         */
        ORDER(9, "订单消费"),
        /**
         * 被删评论
         */
        LOTTERY(10, "抽奖"),
        /**
         * 被删评论
         */
        SYSTEM_MODIFY(11, "系统调整");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private MemberPointsRecordBusinessType(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }
    }


    /**
     * 商城会员积分记录表
     * 操作类型（0，扣除/使用积分、1，增加/获得积分）
     */
    public enum MemberPointsRecordOpType {
        /**
         * 扣除/使用积分
         */
        DELETE(0, "扣除"),
        /**
         * 增加/获得积分
         */
        ADD(1, "增加");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private MemberPointsRecordOpType(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

    }

    /**
     * 商城会员积分记录表
     * 积分类型（0，会员经验积分、1、可用于消费的积分，目前只需要支持会员经验积分即可）
     */
    public enum MemberPointsRecordPointsType {
        /**
         * 会员经验积分
         */
        MEMBER_INTEGRAL(0, "会员经验积分"),
        /**
         * 可用于消费的积分
         */
        CONSUME_INTEGRAL(1, "可用于消费的积分");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private MemberPointsRecordPointsType(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

    }

    /**
     * 视频是否为热帖或者是否置顶
     * 0：否 1：是
     */
    public enum VideoStatusType {
        /**
         * 会员经验积分
         */
        NO(0, "否"),
        /**
         * 可用于消费的积分
         */
        YES(1, "是");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private VideoStatusType(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

    }

    /**
     * 活动类型
     * 0：限时抢购 1：抽奖
     */
    public enum ActivityType {
        /**
         * 会员经验积分
         */
        PANIC_BUYING(0, "限时抢购"),
        /**
         * 可用于消费的积分
         */
        LOTTERY(1, "抽奖");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private ActivityType(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

    }

    /**
     * 活动状态
     * 状态（0：进行中 1: 已发布/未开始  2:已结束 3:待发布）
     */
    public enum ActivityStatus {
        /**
         * 进行中
         */
        ING(0, "进行中"),
        /**
         * 已发布/未开始
         */
        NO_START(1, "已发布"),
        /**
         * 已结束
         */
        END(2, "已结束"),
        /**
         * 待发布
         */
        NO_PUBLISH(3, "待发布");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private ActivityStatus(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

    }

    /**
     * 参与类型
     * 0：一次 1：每天
     */
    public enum JoinType {
        /**
         * 会员经验积分
         */
        ONEDAY(0, "次出"),
        /**
         * 可用于消费的积分
         */
        EVERYDAY(1, "每天");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private JoinType(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

    }

    /**
     * 资讯来源（0：平台 1：店铺 2：社区）
     *
     */
    public enum NewsSource {
        /**
         * 平台
         */
        PLATFORM(0, "平台"),
        /**
         * 店铺
         */
        STORE(1, "店铺"),
        /**
         * 社区
         */
        COMMUNITY(2, "社区");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private NewsSource(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

    }

    /**
     *会员类型
     */
    public enum MemberType {
        /**
         * 个人
         */
        PERSONAL(1, "个人"),
        /**
         * 企业
         */
        COMPANY(2, "企业");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private MemberType(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

    }

    /**
     * 活动来源
     */
    public enum SysUserType {
        /**
         * 个人
         */
        PLATFORM(0, "平台"),
        /**
         * 企业
         */
        SELLER(1, "商家");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private SysUserType(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

    }

    /**
     * 基础状态
     * 0：否/假 1：是/真
     */
    public enum YesOrNo {
        /**
         * 否/假
         */
        NO(0, "否"),
        /**
         * 是/真
         */
        YES(1, "是");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private YesOrNo(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

    }

    /**
     * 置顶状态
     * 0：否/假 1：是/真
     */
    public enum TopStatus {
        /**
         * 否/假
         */
        NO(0, "否"),
        /**
         * 是/真
         */
        YES(1, "是");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private TopStatus(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

    }

    /**
     * 置顶状态
     * 0：否/假 1：是/真
     */
    public enum IsNetwork {
        /**
         * 否/假
         */
        NO(0, "否"),
        /**
         * 是/真
         */
        YES(1, "是");
        /**
         * value
         */
        private Integer value;
        /**
         * name
         */
        private String name;

        private IsNetwork(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

    }
}
